1. Field of the Invention
This invention relates to peripherals controllers and more specifically to hiding peripheral memory transactions on a disk array controller card from a host system bus.
2. Description of the Related Art
Servers are critical components of a computer network as their efficiency and reliability directly impact the efficiency and reliability of the computer network as a whole. Servers have typically been utilized to provide access to shared printers and files. As a general rule, a computer network has multiple file servers which have traditionally been used as storage hubs for various files. In a typical application, a copy of a stored file is transferred to a client on demand with an updated file being returned to the server for storage. As a result of on-demand file transfer, any delay in accessing files on a disk subsystem directly affects the efficiency of the network.
The requirement for high performance efficient networks has led to advances in disk drives and in disk subsystem architectures. Disk drive storage sizes have increased, access times have decreased, and data transfer rates have increased. However, while disk drive technology has advanced, processing capabilities of personal computers and workstations have also advanced. As more clients are added to a given network and the processing capability of those clients increase, there is a continuing push to further enhance the performance of disk subsystems servicing that network.
In response to the need for reliable inexpensive disk drive subsystems, redundant array of inexpensive disks (RAID) configurations have been developed. RAID implementations can provide error detection and duplicate storage of information on a disk drive subsystem in the event one or more disk drives in the disk drive subsystem fail. Some of the advantages provided by RAID subsystems have been higher data transfer rates, increased disk capacity, higher input/output (I/O) rates, and faster data access. Depending upon which level of RAID was implemented, disk striping, mirroring, parity checking, or some combination was employed. For example, RAID level 4 implements block interleaved data striping with parity checking, with parity information being stored on a single disk drive. In contrast, RAID level 5 strips both data and parity information across multiple disk drives. These RAID implementations and others are well known to those of ordinary skill in the art.
In a typical peripheral component interconnect (PCI) bus based server, a custom PCI--PCI bridge has been utilized to couple a peripheral controller's local bus to a host system bus. The custom PCI--PCI bridge was implemented because a standard PCI--PCI bridge would attempt to claim all memory transactions occurring on the local bus and pass them to a host memory controller. When the peripheral controller contained peripheral memory, a peripheral memory controller might also attempt to claim the memory transaction. If this occurred, contention on the local bus would ensue such that no peripheral memory transactions could be completed. The custom PCI--PCI bridge prevented contention on the local bus by not recognizing memory transactions that were directed to the peripheral memory. This avoided contention on the local bus because the custom PCI--PCI bridge would not attempt to claim the memory transaction directed to the peripheral memory.